/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logica;

import Oracle.OracleMethods;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author odmaestrams
 */
public class EliminacionInformacion {
    
    public static int eliminarVentaKiosco(String fechaVenta, Integer nroKiosco, String rifCliente) throws SQLException {
        Connection con = OracleMethods.oracleConnection();
        Statement stmt = con.createStatement(); 
        
        ResultSet rs = stmt.executeQuery("SELECT factura_PK_FK FROM ao_detalle "
                + "WHERE ao_detalle.fecha_venta_FK = TO_DATE(" + "'" + fechaVenta + "'," + "'dd/mm/yyyy') "
                + "AND kiosco_FK = " + nroKiosco + " "
                + "AND rif_FK = " + "'" + rifCliente + "'");
        
        int resultado = 0, factura = 0;
        if (rs.next()){
            factura = rs.getInt(1);
            
            System.out.println(factura);
            resultado = stmt.executeUpdate("DELETE FROM ao_detalle "
                    + "WHERE factura_PK_FK = " + factura);

            if (resultado != 0){
                resultado = stmt.executeUpdate("DELETE FROM ao_factura "
                    + "WHERE factura_PK = " + factura);
            
                if (resultado != 0){
                    resultado = stmt.executeUpdate("DELETE FROM ao_info_venta "
                    + "WHERE fechaVenta_PK = TO_DATE(" + "'" + fechaVenta + "'," + "'dd/mm/yyyy') "
                    + "AND kiosco_PK_FK = " + nroKiosco + " "
                    + "AND rif_PK_FK = " + "'" + rifCliente + "'");
                }
            }
        }
        
        stmt.close();
        rs.close();
        con.close();
        
        return resultado;
    }
    
    public static int eliminarMantenimiento(String fechaMant, String tipoMant, Integer nroTipoMant, String ciEmpleado, Integer horasT, Integer nroKiosco) throws SQLException {
        Connection con = OracleMethods.oracleConnection();
        Statement stmt = con.createStatement(); 
        ResultSet rs = stmt.executeQuery("SELECT factura_PK_FK FROM ao_detalle "
                + "WHERE fecha_mant_FK = TO_DATE(" + "'" + fechaMant + "'," + "'yyyy-mm-dd') "
                + "AND kiosco_FK = " + nroKiosco + " "
                + "AND ci_FK = " + "'" + ciEmpleado + "' "
                + "AND mant_FK = " + nroTipoMant);
  
        int resultado = 0, factura = 0;
        if (rs.next()){ 
            factura = rs.getInt("factura_PK_FK");
          
            resultado = stmt.executeUpdate("DELETE FROM ao_pago "
                    + "WHERE factura_PK_FK = " + factura);

            if (resultado != 0){
                resultado = stmt.executeUpdate("DELETE FROM ao_detalle "
                    + "WHERE factura_PK_FK = " + factura);

                if (resultado != 0){
                    resultado = stmt.executeUpdate("DELETE FROM ao_factura "
                        + "WHERE factura_PK = " + factura);
            
                    if (resultado != 0){
                        resultado = stmt.executeUpdate("DELETE FROM ao_gasto "
                                + "WHERE fecha = TO_DATE(" + "'" + fechaMant + "'," + "'yyyy-mm-dd') "
                                + "AND tipo = 'Reparacion' "
                                + "AND kiosco_PK_FK = " + nroKiosco);
                        
                        if (resultado != 0){
                        resultado = stmt.executeUpdate("DELETE FROM ao_mant_kiosco "
                            + "WHERE fecha_PK = TO_DATE(" + "'" + fechaMant + "'," + "'yyyy-mm-dd') "
                            + "AND kiosco_PK_FK = " + nroKiosco + " " 
                            + "AND ci_PK_FK = " + "'" + ciEmpleado + "' "
                            + "AND mant_PK_FK = " + nroTipoMant);
                    }
                    }
                   
                }
            }
        }
        
        
        
        return resultado;
    }
    
    public static int eliminarPedido (Integer nroPedido, Integer cantidad, String material, 
        String fechaCreacion, String fechaEntrega, String rifCliente) throws SQLException {
        
        Connection con = OracleMethods.oracleConnection();
        Statement stmt = con.createStatement();
        ResultSet rs = null;
        
        System.out.println("DELETE FROM ao_pedido "
                                + "WHERE pedido_PK = " + nroPedido);
        stmt.executeUpdate("DELETE FROM ao_pedido "
                                + "WHERE pedido_PK = " + nroPedido);
        
        
        
//        int resultado = 0, factura = 0, det_ped_PK = 0;
//        
//        rs = stmt.executeQuery("SELECT det_ped_PK FROM ao_detalle_pedido "
//                + "WHERE rif_PK_FK = " + "'" + rifCliente + "' "
//                + "AND pedido_PK_FK = " + nroPedido);
//        
//        if(rs.next())
//            det_ped_PK = rs.getInt(1);
//       
//        rs = stmt.executeQuery("SELECT factura_PK_FK FROM ao_detalle "
//                + "WHERE pedido_FK = " + nroPedido);
//        if (rs.next())
//            factura = rs.getInt(1);
//
//        resultado = stmt.executeUpdate("DELETE FROM ao_pago "
//                + "WHERE factura_PK_FK = " + factura);
//
//        if (resultado != 0){
//            resultado = stmt.executeUpdate("DELETE FROM ao_detalle "
//                    + "WHERE det_ped_FK = " + det_ped_PK + " "
//                    + "AND rif_FK = " + "'" + rifCliente + "' "
//                    + "AND pedido_FK = " + nroPedido);
//
//
//            if (resultado != 0){
//                resultado = stmt.executeUpdate("DELETE FROM ao_factura "
//                    + "WHERE factura_PK = " + factura);
//
//                if (resultado != 0){
//                resultado = stmt.executeUpdate("DELETE FROM ao_detalle_pedido "
//                        + "WHERE rif_PK_FK = " + "'" + rifCliente + "' "
//                        + "AND pedido_PK_FK = " + nroPedido);
//                
//                
//                    if (resultado != 0){
//                        resultado = stmt.executeUpdate("DELETE FROM ao_pedido "
//                                + "WHERE pedido_PK = " + nroPedido);
//                }
//            }
//        }
//    }
        
        return 1;
    }
    
    public static int eliminarAlquiler(Integer nroAlquiler, String fechaInicio, String fechaFin, String posicion,
            String rifCliente, Integer formaPago, Integer servicio, Integer nroKiosco) throws SQLException {
        
        Connection con = OracleMethods.oracleConnection();
        Statement stmt = con.createStatement(); 
        ResultSet rs = stmt.executeQuery("SELECT factura_PK_FK FROM ao_detalle "
                + "WHERE ao_detalle.alquiler_FK = " + nroAlquiler);
  
        int resultado = 0, factura = 0;
        if (rs.next()){
            factura = rs.getInt(1);            
            
            resultado = stmt.executeUpdate("DELETE FROM ao_pago "
                    + "WHERE factura_PK_FK = " + factura);

            if (resultado != 0){
                resultado = stmt.executeUpdate("DELETE FROM ao_detalle "
                    + "WHERE factura_PK_FK = " + factura);

                if (resultado != 0){
                    resultado = stmt.executeUpdate("DELETE FROM ao_factura "
                        + "WHERE factura_PK = " + factura);
            
                    if (resultado != 0){
                        resultado = stmt.executeUpdate("DELETE FROM ao_alquiler "
                            + "WHERE alquiler_PK = " + nroAlquiler);
                    }
                }
            }
        }
        
        stmt.close();
        rs.close();
        con.close();
        
        return resultado;
    }
    
    public static int eliminarFormaPago(){
        
        return 1;
    }
}
